package com.linkhub.oms.admin.modules.user.domain.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @Description: MerchantCompanyModifyParamV2
 * @Author: Jaycle
 * @Date: 2025/5/20 11:17
 * @Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("MerchantCompanyModifyParamV2")
public class MerchantCompanyModifyParamV2 extends BaseUserParam implements Serializable {

    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "临时交互code")
    private String temporaryCode;

    @ApiModelProperty(value = "公司logo图片URL(选填)")
    @URL(message = "{validation.logo.url.invalid}")
    private String logo;

    @ApiModelProperty(value = "公司名称(必填)", required = true)
    @NotBlank(message = "{validation.companyName.notBlank}")
    @Length(max = 200, message = "{validation.companyName.length}")
    private String companyName;

    @ApiModelProperty(value = "国家简码(必填)", required = true)
    @NotBlank(message = "{validation.country.notBlank}")
    private String countryCode;

    @ApiModelProperty(value = "公司电话国家数字码（如中国86）")
//    @NotBlank(message = "{validation.countryDigitalCode.notBlank}")
    private String countryDigitalCode;

    @ApiModelProperty(value = "公司电话(选填，不含国家码)")
    private String companyPhone;

    @ApiModelProperty(value = "网站地址(选填)")
    @URL(message = "{validation.website.url.invalid}")
    private String website;

    @ApiModelProperty(value = "公司地址(必填)", required = true)
    @NotBlank(message = "{validation.company.address.notBlank}")
    @Length(max = 200, message = "{validation.company.address.length}")
    private String address;

    @ApiModelProperty(value = "附加地址(选填)")
    @Length(max = 200, message = "{validation.additionalAddress.length}")
    private String additionalAddress;

    @ApiModelProperty(value = "城市(选填)")
    private String city;

    @ApiModelProperty(value = "邮编(必填)", required = true)
    @NotBlank(message = "{validation.zip.notBlank}")
    private String zip;

    @ApiModelProperty(value = "省份")
    @Length(max = 200, message = "{validation.province.length}")
    private String province;
}